// import com.alibaba.druid.sql.ast.statement.*;
// import com.alibaba.druid.sql.dialect.oracle.ast.clause.*;
// import com.alibaba.druid.sql.dialect.oracle.ast.expr.*;
// import com.alibaba.druid.sql.dialect.oracle.ast.stmt.*;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;

#include "OracleASTVisitor.h"
#include "../../../ast/statement/SQLUpdateStatement.h"
#include "../../../ast/statement/SQLForeignKeyImpl.h"
#include "../../../ast/statement/SQLCreateIndexStatement.h"
#include "../../../ast/statement/SQLCreateTableStatement.h"
#include "../../../ast/statement/SQLDeleteStatement.h"
#include "../ast/stmt/OracleUpdateStatement.h"
#include "../ast/stmt/OracleSelectQueryBlock.h"
#include "../ast/stmt/OracleForeignKey.h"
#include "../ast/stmt/OracleCreateIndexStatement.h"
#include "../ast/stmt/OracleCreateTableStatement.h"
#include "../ast/stmt/OracleDeleteStatement.h"
#include "../ast/stmt/OracleInsertStatement.h"
#include "../../../ast/statement/SQLInsertStatement.h"
#include "../ast/stmt/OracleUnique.h"
#include "../../../ast/statement/SQLUnique.h"
#include "../ast/stmt/OracleCheck.h"
#include "../../../ast/statement/SQLCheck.h"

void OracleASTVisitor::endVisit(OracleUpdateStatement_ptr x) {}
bool OracleASTVisitor::visit(OracleUpdateStatement_ptr x)
{
  return SQLASTVisitor::visit(std::dynamic_pointer_cast<SQLUpdateStatement>(x));
}

bool OracleASTVisitor::visit(OracleDeleteStatement_ptr x)
{
  return SQLASTVisitor::visit(std::dynamic_pointer_cast<SQLDeleteStatement>(x));
}
void OracleASTVisitor::endVisit(OracleDeleteStatement_ptr x)
{
  SQLASTVisitor::endVisit(std::dynamic_pointer_cast<SQLDeleteStatement>(x));
}

bool OracleASTVisitor::visit(OracleInsertStatement_ptr x)
{
  return SQLASTVisitor::visit(std::dynamic_pointer_cast<SQLInsertStatement>(x));
}
void OracleASTVisitor::endVisit(OracleInsertStatement_ptr x)
{
  SQLASTVisitor::endVisit(std::dynamic_pointer_cast<SQLInsertStatement>(x));
}

bool OracleASTVisitor::visit(OracleSelectQueryBlock_ptr x)
{
  return SQLASTVisitor::visit(std::dynamic_pointer_cast<SQLSelectQueryBlock>(x));
}

void OracleASTVisitor::endVisit(OracleSelectQueryBlock_ptr x)
{
  SQLASTVisitor::endVisit(std::dynamic_pointer_cast<SQLSelectQueryBlock>(x));
}

bool OracleASTVisitor::visit(OracleCreateIndexStatement_ptr x)
{
  return SQLASTVisitor::visit(std::dynamic_pointer_cast<SQLCreateIndexStatement>(x));
}
void OracleASTVisitor::endVisit(OracleCreateIndexStatement_ptr x)
{
  SQLASTVisitor::endVisit(std::dynamic_pointer_cast<SQLCreateIndexStatement>(x));
}

bool OracleASTVisitor::visit(OracleCreateTableStatement_ptr x)
{
  return SQLASTVisitor::visit(std::dynamic_pointer_cast<SQLCreateTableStatement>(x));
}
void OracleASTVisitor::endVisit(OracleCreateTableStatement_ptr x)
{
  SQLASTVisitor::endVisit(std::dynamic_pointer_cast<SQLCreateTableStatement>(x));
}

bool OracleASTVisitor::visit(OracleUnique_ptr x)
{
  return SQLASTVisitor::visit(std::dynamic_pointer_cast<SQLUnique>(x));
}
void OracleASTVisitor::endVisit(OracleUnique_ptr x)
{
  SQLASTVisitor::endVisit(std::dynamic_pointer_cast<SQLUnique>(x));
}

bool OracleASTVisitor::visit(OracleForeignKey_ptr x)
{
  return SQLASTVisitor::visit(std::dynamic_pointer_cast<SQLForeignKeyImpl>(x));
}
void OracleASTVisitor::endVisit(OracleForeignKey_ptr x)
{
  SQLASTVisitor::endVisit(std::dynamic_pointer_cast<SQLForeignKeyImpl>(x));
}

bool OracleASTVisitor::visit(OracleCheck_ptr x)
{
  return SQLASTVisitor::visit(std::dynamic_pointer_cast<SQLCheck>(x));
}
void OracleASTVisitor::endVisit(OracleCheck_ptr x)
{
  SQLASTVisitor::endVisit(std::dynamic_pointer_cast<SQLCheck>(x));
}
